//using System;
//using System.Collections.Generic;
//using Publicidades = PortalCurriculo.Publicidades;
//using PortalCurriculo.DAL.Linq;
//using System.Data.Linq;

//namespace PortalCurriculo.DAL.Publicidades
//{
//      public class TipoContrato : ITipoContrato
//      {
//         PortalCurriculoDataContext portalCurriculoDB = new PortalCurriculoDataContext();

//         #region TipoContrato Members

//         public void Salvar(Publicidades.TipoContrato tipoContrato)
//         {
//            ExecutarLinq(tipoContrato, Acao.INSERIR);
//         }

//         public void Alterar(Publicidades.TipoContrato tipoContrato)
//         {
//            ExecutarLinq(tipoContrato, Acao.ALTERAR);
//         }

//         public Publicidades.TipoContrato SelecionarPorCodigo(Publicidades.TipoContrato tipoContrato)
//         {
//            return ConverterParaModel(SelecionarLinq(tipoContrato, Acao.RETORNAR_UNICO))[0];
//         }

//         public List<Publicidades.TipoContrato> Selecionar(Publicidades.TipoContrato tipoContrato)
//         {
//            return ConverterParaModel(SelecionarLinq(tipoContrato, Acao.LISTAR));
//         }

//         public void Inativar(Publicidades.TipoContrato tipoContrato)
//         {
//            ExecutarLinq(tipoContrato, Acao.INATIVAR);
//         }

//         #endregion

//         private void ExecutarLinq(Publicidades.TipoContrato tipoContrato, string acao)
//         {
//            portalCurriculoDB.pTipoContratoManipulacao(acao, tipoContrato.Codigo, tipoContrato.Descricao, 
//               tipoContrato.Ativo);
//         }

//         private ISingleResult<pTipoContratoManipulacaoResult> SelecionarLinq(Publicidades.TipoContrato tipoContrato, string acao)
//         {
//            return portalCurriculoDB.pTipoContratoManipulacao(acao, tipoContrato.Codigo, tipoContrato.Descricao, 
//               tipoContrato.Ativo);
//         }

//         private List<Publicidades.TipoContrato> ConverterParaModel(ISingleResult<pTipoContratoManipulacaoResult> resultTipoContrato)
//         {
//            ISingleResult<pTipoContratoManipulacaoResult> result = resultTipoContrato;
//            List<Publicidades.TipoContrato> tipoContratos = new List<Publicidades.TipoContrato>();

//            foreach (pTipoContratoManipulacaoResult item in result)
//            {
//               Publicidades.TipoContrato tipoContrato = new Publicidades.TipoContrato()
//               {
//                  #region Dados TipoContrato
//                  Codigo = (int)item.Codigo,
//                  Descricao = item.Descricao,
//                  Ativo = (bool)item.Ativo
//                  #endregion
//               };


//               tipoContratos.Add(tipoContrato);
//            }

//            return tipoContratos;
//         }
//      }
//}
